--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Python Module/Example.py 7d868b4db62f49ab96c04f2b699dc8538238cdc5 (7d868b4d) Text, 1.20 KB
T8b949e# This is a short example program that
T8b949e# demonstrates the bare minimum of using
T8b949e# RNode in a Python program.
T8b949e#
T8b949e# The example and the RNode.py library is
T8b949e# written for Python 3, so be sure to run
T8b949e# it with: python3 Example.py
T8b949e# First we'll import the RNodeInterface class.
Tff7b72from T7ee787RNode Tff7b72import Te6edf3RNodeInterface
T8b949e# We'll also define which serial port the
T8b949e# RNode is attached to.
Te6edf3serialPort Tff7b72= Ta5d6ff"Ta5d6ff/dev/ttyUSB0Ta5d6ff"
T8b949e# This function gets called every time a
T8b949e# packet is received
Tff7b72def Td2a8ffgotPacketTb4b4b4(Te6edf3dataTb4b4b4, Te6edf3rnodeTb4b4b4)Tb4b4b4:
Te6edf3message Tff7b72= Te6edf3dataTff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffReceived a packet: Ta5d6ff"Tff7b72+Te6edf3messageTb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffRSSI: Ta5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3rnodeTff7b72.Td2a8ffr_stat_rssiTb4b4b4)Tff7b72+Ta5d6ff"Ta5d6ff dBmTa5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffSNR: Ta5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3rnodeTff7b72.Td2a8ffr_stat_snrTb4b4b4)Tff7b72+Ta5d6ff"Ta5d6ff dBTa5d6ff"Tb4b4b4)
T8b949e# Create an RNode instance. This configures
T8b949e# and powers up the radio.
Te6edf3rnode Tff7b72= Te6edf3RNodeInterfaceTb4b4b4(
Te6edf3callback Tff7b72= Te6edf3gotPacketTb4b4b4,
Te6edf3name Tff7b72= Ta5d6ff"Ta5d6ffMy RNodeTa5d6ff"Tb4b4b4,
Te6edf3port Tff7b72= Te6edf3serialPortTb4b4b4,
Te6edf3frequency Tff7b72= T79c0ff868000000Tb4b4b4,
Te6edf3bandwidth Tff7b72= T79c0ff125000Tb4b4b4,
Te6edf3txpower Tff7b72= T79c0ff2Tb4b4b4,
Te6edf3sf Tff7b72= T79c0ff7Tb4b4b4,
Te6edf3cr Tff7b72= T79c0ff5Tb4b4b4,
Te6edf3loglevel Tff7b72= Te6edf3RNodeInterfaceTff7b72.Td2a8ffLOG_DEBUGTb4b4b4)
T8b949e# Enter a loop waiting for user input.
Tff7b72tryTb4b4b4:
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffWaiting for packets, hit enter to send a packet, Ctrl-C to exitTa5d6ff"Tb4b4b4)
Tff7b72while Tff7b72TrueTb4b4b4:
Tffa657inputTb4b4b4(Tb4b4b4)
Te6edf3message Tff7b72= Ta5d6ff"Ta5d6ffHello World!Ta5d6ff"
Te6edf3data Tff7b72= Te6edf3messageTff7b72.Td2a8ffencodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)
Te6edf3rnodeTff7b72.Td2a8ffsendTb4b4b4(Te6edf3dataTb4b4b4)
Tff7b72except Tf85149KeyboardInterrupt Tff7b72as Te6edf3eTb4b4b4:
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)
Te6edf3exitTb4b4b4(Tb4b4b4)
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────